<!DOCTYPE HTML>

<html lang="en">
<head>

<title>BasicLookupStrategy (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="BasicLookupStrategy (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="BasicLookupStrategy.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="BasicLookupStrategy.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.acls.jdbc</a></div>
<h2 title="Class BasicLookupStrategy" class="title">Class BasicLookupStrategy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.acls.jdbc.BasicLookupStrategy</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="LookupStrategy.html" title="interface in org.springframework.security.acls.jdbc">LookupStrategy</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">BasicLookupStrategy</span>
extends java.lang.Object
implements <a href="LookupStrategy.html" title="interface in org.springframework.security.acls.jdbc">LookupStrategy</a></pre>
<div class="block">Performs lookups in a manner that is compatible with ANSI SQL.
<p>
NB: This implementation does attempt to provide reasonably optimised lookups - within
the constraints of a normalised database and standard ANSI SQL features. If you are
willing to sacrifice either of these constraints (e.g. use a particular database
feature such as hierarchical queries or materalized views, or reduce normalisation) you
are likely to achieve better performance. In such situations you will need to provide
your own custom <code>LookupStrategy</code>. This class does not support subclassing,
as it is likely to change in future releases and therefore subclassing is unsupported.
<p>
There are two SQL queries executed, one in the <tt>lookupPrimaryKeys</tt> method and
one in <tt>lookupObjectIdentities</tt>. These are built from the same select and "order
by" clause, using a different where clause in each case. In order to use custom schema
or column names, each of these SQL clauses can be customized, but they must be
consistent with each other and with the expected result set generated by the the
default values.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">

</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE">DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#DEFAULT_ORDER_BY_CLAUSE">DEFAULT_ORDER_BY_CLAUSE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#DEFAULT_SELECT_CLAUSE">DEFAULT_SELECT_CLAUSE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">

</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#%3Cinit%3E(javax.sql.DataSource,org.springframework.security.acls.model.AclCache,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.domain.AuditLogger)">BasicLookupStrategy</a></span>&#8203;(javax.sql.DataSource&nbsp;dataSource,
<a href="../model/AclCache.html" title="interface in org.springframework.security.acls.model">AclCache</a>&nbsp;aclCache,
<a href="../domain/AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
<a href="../domain/AuditLogger.html" title="interface in org.springframework.security.acls.domain">AuditLogger</a>&nbsp;auditLogger)</code></th>
<td class="colLast">
<div class="block">Constructor accepting mandatory arguments</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#%3Cinit%3E(javax.sql.DataSource,org.springframework.security.acls.model.AclCache,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.model.PermissionGrantingStrategy)">BasicLookupStrategy</a></span>&#8203;(javax.sql.DataSource&nbsp;dataSource,
<a href="../model/AclCache.html" title="interface in org.springframework.security.acls.model">AclCache</a>&nbsp;aclCache,
<a href="../domain/AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
<a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model">PermissionGrantingStrategy</a>&nbsp;grantingStrategy)</code></th>
<td class="colLast">
<div class="block">Creates a new instance</div>
</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#createSid(boolean,java.lang.String)">createSid</a></span>&#8203;(boolean&nbsp;isPrincipal,
java.lang.String&nbsp;sid)</code></th>
<td class="colLast">
<div class="block">Creates a particular implementation of <a href="../model/Sid.html" title="interface in org.springframework.security.acls.model"><code>Sid</code></a> depending on the arguments.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>,&#8203;<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#readAclsById(java.util.List,java.util.List)">readAclsById</a></span>&#8203;(java.util.List&lt;<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&gt;&nbsp;objects,
java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids)</code></th>
<td class="colLast">
<div class="block">The main method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setAclClassIdSupported(boolean)">setAclClassIdSupported</a></span>&#8203;(boolean&nbsp;aclClassIdSupported)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setBatchSize(int)">setBatchSize</a></span>&#8203;(int&nbsp;batchSize)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setConversionService(org.springframework.core.convert.ConversionService)">setConversionService</a></span>&#8203;(org.springframework.core.convert.ConversionService&nbsp;conversionService)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setLookupObjectIdentitiesWhereClause(java.lang.String)">setLookupObjectIdentitiesWhereClause</a></span>&#8203;(java.lang.String&nbsp;lookupObjectIdentitiesWhereClause)</code></th>
<td class="colLast">
<div class="block">The SQL for the where clause used in the <tt>lookupObjectIdentities</tt> method.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setLookupPrimaryKeysWhereClause(java.lang.String)">setLookupPrimaryKeysWhereClause</a></span>&#8203;(java.lang.String&nbsp;lookupPrimaryKeysWhereClause)</code></th>
<td class="colLast">
<div class="block">The SQL for the where clause used in the <tt>lookupPrimaryKey</tt> method.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setOrderByClause(java.lang.String)">setOrderByClause</a></span>&#8203;(java.lang.String&nbsp;orderByClause)</code></th>
<td class="colLast">
<div class="block">The SQL for the "order by" clause used in both queries.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setPermissionFactory(org.springframework.security.acls.domain.PermissionFactory)">setPermissionFactory</a></span>&#8203;(<a href="../domain/PermissionFactory.html" title="interface in org.springframework.security.acls.domain">PermissionFactory</a>&nbsp;permissionFactory)</code></th>
<td class="colLast">
<div class="block">Sets the <code>PermissionFactory</code> instance which will be used to convert loaded
permission data values to <code>Permission</code>s.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="BasicLookupStrategy.html#setSelectClause(java.lang.String)">setSelectClause</a></span>&#8203;(java.lang.String&nbsp;selectClause)</code></th>
<td class="colLast">
<div class="block">The SQL for the select clause.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">

</a>
<h3>Field Detail</h3>
<a id="DEFAULT_SELECT_CLAUSE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SELECT_CLAUSE</h4>
<pre>public static final&nbsp;java.lang.String DEFAULT_SELECT_CLAUSE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.acls.jdbc.BasicLookupStrategy.DEFAULT_SELECT_CLAUSE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE">

</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE</h4>
<pre>public static final&nbsp;java.lang.String DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.acls.jdbc.BasicLookupStrategy.DEFAULT_ACL_CLASS_ID_SELECT_CLAUSE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_ORDER_BY_CLAUSE">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_ORDER_BY_CLAUSE</h4>
<pre>public static final&nbsp;java.lang.String DEFAULT_ORDER_BY_CLAUSE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.springframework.security.acls.jdbc.BasicLookupStrategy.DEFAULT_ORDER_BY_CLAUSE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">

</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(javax.sql.DataSource,org.springframework.security.acls.model.AclCache,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.domain.AuditLogger)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>BasicLookupStrategy</h4>
<pre>public&nbsp;BasicLookupStrategy&#8203;(javax.sql.DataSource&nbsp;dataSource,
                           <a href="../model/AclCache.html" title="interface in org.springframework.security.acls.model">AclCache</a>&nbsp;aclCache,
                           <a href="../domain/AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
                           <a href="../domain/AuditLogger.html" title="interface in org.springframework.security.acls.domain">AuditLogger</a>&nbsp;auditLogger)</pre>
<div class="block">Constructor accepting mandatory arguments</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataSource</code> - to access the database</dd>
<dd><code>aclCache</code> - the cache where fully-loaded elements can be stored</dd>
<dd><code>aclAuthorizationStrategy</code> - authorization strategy (required)</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(javax.sql.DataSource,org.springframework.security.acls.model.AclCache,org.springframework.security.acls.domain.AclAuthorizationStrategy,org.springframework.security.acls.model.PermissionGrantingStrategy)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BasicLookupStrategy</h4>
<pre>public&nbsp;BasicLookupStrategy&#8203;(javax.sql.DataSource&nbsp;dataSource,
                           <a href="../model/AclCache.html" title="interface in org.springframework.security.acls.model">AclCache</a>&nbsp;aclCache,
                           <a href="../domain/AclAuthorizationStrategy.html" title="interface in org.springframework.security.acls.domain">AclAuthorizationStrategy</a>&nbsp;aclAuthorizationStrategy,
                           <a href="../model/PermissionGrantingStrategy.html" title="interface in org.springframework.security.acls.model">PermissionGrantingStrategy</a>&nbsp;grantingStrategy)</pre>
<div class="block">Creates a new instance</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataSource</code> - to access the database</dd>
<dd><code>aclCache</code> - the cache where fully-loaded elements can be stored</dd>
<dd><code>aclAuthorizationStrategy</code> - authorization strategy (required)</dd>
<dd><code>grantingStrategy</code> - the PermissionGrantingStrategy</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="readAclsById(java.util.List,java.util.List)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>readAclsById</h4>
<pre class="methodSignature">public final&nbsp;java.util.Map&lt;<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>,&#8203;<a href="../model/Acl.html" title="interface in org.springframework.security.acls.model">Acl</a>&gt;&nbsp;readAclsById&#8203;(java.util.List&lt;<a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model">ObjectIdentity</a>&gt;&nbsp;objects,
                                                                  java.util.List&lt;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&gt;&nbsp;sids)</pre>
<div class="block">The main method.
<p>
WARNING: This implementation completely disregards the "sids" argument! Every item
in the cache is expected to contain all SIDs. If you have serious performance needs
(e.g. a very large number of SIDs per object identity), you'll probably want to
develop a custom <a href="LookupStrategy.html" title="interface in org.springframework.security.acls.jdbc"><code>LookupStrategy</code></a> implementation instead.
<p>
The implementation works in batch sizes specified by <a href="BasicLookupStrategy.html#batchSize"><code>batchSize</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="LookupStrategy.html#readAclsById(java.util.List,java.util.List)">readAclsById</a></code>&nbsp;in interface&nbsp;<code><a href="LookupStrategy.html" title="interface in org.springframework.security.acls.jdbc">LookupStrategy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objects</code> - the identities to lookup (required)</dd>
<dd><code>sids</code> - the SIDs for which identities are required (ignored by this
implementation)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <tt>Map</tt> where keys represent the <a href="../model/ObjectIdentity.html" title="interface in org.springframework.security.acls.model"><code>ObjectIdentity</code></a> of the
located <a href="../model/Acl.html" title="interface in org.springframework.security.acls.model"><code>Acl</code></a> and values are the located <a href="../model/Acl.html" title="interface in org.springframework.security.acls.model"><code>Acl</code></a> (never <tt>null</tt>
although some entries may be missing; this method should not throw
<a href="../model/NotFoundException.html" title="class in org.springframework.security.acls.model"><code>NotFoundException</code></a>, as a chain of <a href="LookupStrategy.html" title="interface in org.springframework.security.acls.jdbc"><code>LookupStrategy</code></a>s may be used to
automatically create entries if required)</dd>
</dl>
</li>
</ul>
<a id="createSid(boolean,java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>createSid</h4>
<pre class="methodSignature">protected&nbsp;<a href="../model/Sid.html" title="interface in org.springframework.security.acls.model">Sid</a>&nbsp;createSid&#8203;(boolean&nbsp;isPrincipal,
                        java.lang.String&nbsp;sid)</pre>
<div class="block">Creates a particular implementation of <a href="../model/Sid.html" title="interface in org.springframework.security.acls.model"><code>Sid</code></a> depending on the arguments.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sid</code> - the name of the sid representing its unique identifier. In typical ACL
database schema it's located in table <code>acl_sid</code> table, <code>sid</code> column.</dd>
<dd><code>isPrincipal</code> - whether it's a user or granted authority like role</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the instance of Sid with the <code>sidName</code> as an identifier</dd>
</dl>
</li>
</ul>
<a id="setPermissionFactory(org.springframework.security.acls.domain.PermissionFactory)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setPermissionFactory</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setPermissionFactory&#8203;(<a href="../domain/PermissionFactory.html" title="interface in org.springframework.security.acls.domain">PermissionFactory</a>&nbsp;permissionFactory)</pre>
<div class="block">Sets the <code>PermissionFactory</code> instance which will be used to convert loaded
permission data values to <code>Permission</code>s. A <code>DefaultPermissionFactory</code>
will be used by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>permissionFactory</code> - </dd>
</dl>
</li>
</ul>
<a id="setBatchSize(int)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatchSize</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setBatchSize&#8203;(int&nbsp;batchSize)</pre>
</li>
</ul>
<a id="setSelectClause(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setSelectClause</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setSelectClause&#8203;(java.lang.String&nbsp;selectClause)</pre>
<div class="block">The SQL for the select clause. If customizing in order to modify column names,
schema etc, the other SQL customization fields must also be set to match.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>selectClause</code> - the select clause, which defaults to
<a href="BasicLookupStrategy.html#DEFAULT_SELECT_CLAUSE"><code>DEFAULT_SELECT_CLAUSE</code></a>.</dd>
</dl>
</li>
</ul>
<a id="setLookupPrimaryKeysWhereClause(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setLookupPrimaryKeysWhereClause</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setLookupPrimaryKeysWhereClause&#8203;(java.lang.String&nbsp;lookupPrimaryKeysWhereClause)</pre>
<div class="block">The SQL for the where clause used in the <tt>lookupPrimaryKey</tt> method.</div>
</li>
</ul>
<a id="setLookupObjectIdentitiesWhereClause(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setLookupObjectIdentitiesWhereClause</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setLookupObjectIdentitiesWhereClause&#8203;(java.lang.String&nbsp;lookupObjectIdentitiesWhereClause)</pre>
<div class="block">The SQL for the where clause used in the <tt>lookupObjectIdentities</tt> method.</div>
</li>
</ul>
<a id="setOrderByClause(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setOrderByClause</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setOrderByClause&#8203;(java.lang.String&nbsp;orderByClause)</pre>
<div class="block">The SQL for the "order by" clause used in both queries.</div>
</li>
</ul>
<a id="setAclClassIdSupported(boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setAclClassIdSupported</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setAclClassIdSupported&#8203;(boolean&nbsp;aclClassIdSupported)</pre>
</li>
</ul>
<a id="setConversionService(org.springframework.core.convert.ConversionService)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setConversionService</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setConversionService&#8203;(org.springframework.core.convert.ConversionService&nbsp;conversionService)</pre>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="BasicLookupStrategy.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="BasicLookupStrategy.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="BasicLookupStrategy.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040d5e56d77980c","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
